#!/bin/bash
# chkconfig: 12345 05 90
# description: This runs the HMC configuration.
#


# Source function library.
. /etc/init.d/functions

case "$1" in
 start)
        mount /mnt/upgrade
	if [ -f /mnt/upgrade/doRestore ]
	then
	   if [ -f /mnt/upgrade/SaveHSCSystemUpgradeData.tar ]
	   then
              cd /
              tar -xf/mnt/upgrade/SaveHSCSystemUpgradeData.tar /var/hsc/tmp/cimomcfg.properties
              tar -xf/mnt/upgrade/SaveHSCSystemUpgradeData.tar /opt/hsc/data/hmcConfigured
	   fi
	fi
        umount /mnt/upgrade
	if [ -f /var/hsc/tmp/cimomcfg.properties.reboot ]
	then
   	  sed -e '/^ *SocketProvider *=/d' /opt/hsc/data/cimomcfg.properties > /tmp/_cimomcfg.tmp
          cat /tmp/_cimomcfg.tmp /var/hsc/tmp/cimomcfg.properties.reboot > /opt/hsc/data/cimomcfg.properties
   	  rm -f /tmp/_cimomcfg.tmp
   	  rm -f /var/hsc/tmp/cimomcfg.properties.reboot
	fi
	if [ -f /opt/hsc/data/hmcConfigured ]
	then
   	  exit 0
	fi
	echo -n "Querying vital product data"

	touch /var/lock/subsys/hmcConfig
	bmodel=`cat /opt/hsc/data/hmcmodel.dat`
	cmodel=`cat /opt/hsc/data/hmcmodel.dat`
	export LD_LIBRARY_PATH=/usr/lib:/opt/hsc/lib:/opt/hsc/lib/hmcjni:$LD_LIBRARY_PATH
	CLASSPATH=/usr/websm/codebase/pluginjars/HwmcaCommon.jar:/usr/websm/codebase/pluginjars/auifw.jar:/opt/hsc/:/usr/websm/codebase/pluginjars/sniacimom.jar:/usr/websm/codebase/pluginjars/xerces.jar:/usr/websm/codebase/wsm.jar:$CLASSPATH
	export CLASSPATH
	export PATH=/opt/IBMJava2-13/jre/bin:$PATH

	x=`java com.ibm.hsc.common.util.HSCVPD | grep Model`
	if [ $? -eq 0 ]
	then
	   cmodel=`echo $x | cut -d':' -f2 | cut -c2-5`
	fi
	if [ "$cmodel" != "$bmodel" ]
	then
	   cd /
	   tar -xf /opt/hsc/data/$cmodel.tar
	fi
	touch /opt/hsc/data/hmcConfigured

	# Base model has 1GB of swap
	# If current memory is more than 1GB then create swap space
	# and update /etc/fstab
	if [ "$cmodel" != "$bmodel" ]
	then
	   # make sure swap space is not already added
	   x=`grep extra-swap /etc/fstab 2>/dev/null`
	   if [ $? -ne 0 ]
	   then
	      echo -n "Adding extra swap space"
	      dd if=/dev/zero of=/extra-swap bs=1024 count=1024000
	      chmod 0600 /extra-swap
	      mkswap /extra-swap 1024000
   	      swapon /extra-swap
	      echo "/extra-swap		none			swap	sw		0 0" >>/etc/fstab
	   fi
	fi
	;;
 stop)
 	rm -f /var/lock/subsys/hmcConfig
 	;;
 *)
 	echo "Usage: hmcConfig {start|stop}"
	exit 1
	;;
esac
exit 0

